2 research outputs found

    Second-Order Value Numbering

    Get PDF
    We present second-order value numbering, a new optimization method for suppressing redundancy, in a version tailored to the application for optimizing the decision procedure of jMosel, a verification tool set for monadic second-order logic on strings (M2L(Str)). The method extends the well-known concept of value numbering to consider not merely values, but semantics transformers that can be efficiently pre-computed and help to avoid redundancy at the 2nd-order level. Since decision procedures for M2L are non-elementary, an optimization method like this can have a great impact on the execution time, even though our decision procedure comprises the analysis and optimization time for second-order value numbering. This is illustrated considering a parametric family of hardware circuits, where we observed a performance gain by a factor of 3. This result is surprising, as the design of these circuits exploits already structural similarity

    jMosel: A Flexible Tool-Set for Monadic Second-Order Logic on Strings

    No full text
    Abstract. jMosel is a tool-set for the analysis and verification of linear parametric systems in monadic second-order logic on strings. In this paper we concentrate on the presentation of the core tool which supports several input and output formats as well as the interchange of the tool-set’s internal components. The main design principles of jMosel are its layered approach to the logic, the definition of a formal semantics for a minimal subset, its modular design and its integration into the jABC application design environment. The tool demonstration in the appendix shows how to use jMosel as a stand-alone tool and as a plugin for the jABC environment.
    corecore